LUCRAREA DE LABORATOR NR. 2

 

 

      FACILITATI DE COMPILARE SEPARATA IN CADRUL LIMBAJELOR DE PROGRAMARE DE NIVEL INALT

 

 

 

Definitie. Unde le intalnim ?

 

https://web.eecs.umich.edu/~weimerw/2012-4610/scottcd/3b_spcom.pdf

 

-------------------------------------------------------------------------

C(++),TURBO PASCAL, MEDII VIZUALE WINDOWS.

 

-         external modules (Modula-2) https://www.modula2.org/reference/compilationunits.php

 

-         separate compilation of classes in Java  http://faculty.salina.k-state.edu/tmertz/Java/030variablesobjectsandclasses/05separatecompilation.pdf

 

-         Ada packages  https://perso.telecom-paristech.fr/pautet/Ada95/chap15.htm

https://en.wikibooks.org/wiki/Ada_Programming/Packages

 

-     Fortran                https://www.tutorialspoint.com/fortran/fortran_modules.htm

 

-     Turbo Pascal - unit;   http://bitsavers.informatik.uni-stuttgart.de/pdf/borland/turbo_pascal/Turbo_Pascal_Version_4.0_Owners_Manual_1987.pdf    (pag.61)

 

C, C++  - facilitatea Project a mediului Borland;

 

Alte exemple: Facilitati Project Windows - creare DLL (Dynamic Link Libraries).

                                                       (AppWizard - Visual C++)

--------------------------------------------------------------------------

 

- Care este motivatia si justificarea introducerii unei astfel de facilitati ?

(de ex. TP justifica aceasta si prin legatura cu definirea de TAD-uri). Alte justificari in alte limbaje ?

 

- Rolul programarii bazate obiect si a OOP in promovarea acestor facilitati (accent pe incapsulare - data driven computations, in care datele controleaza accesul la cod);

 

- Legarea de module dezvoltate in limbaje de programare diferite (probleme de compatibilitate ?)

 

 

Pentru exemple:

 

i).  Sa se elaboreze un program C(++) format din minimum 3 module compilate separat pentru rezolvarea unei probleme adecvate punerii in valoare a utilitatii unei astfel de facilitati.

 

ii). Sa se elaboreze o varianta echivalenta in MINIM 2 alte limbaje de programare diferite, folosind capacitatea de compilare separata a acelor limbaje. Se cere o scurta analiza a acestor mecanisme (prezentarea modului de functionare si exemplificarea mecanismului de export-import).